/*
 * @Descripttion: 
 * @version: 1.0
 * @Author: Sam
 * @Date: 2022-04-13 22:09:36
 * @LastEditors: Sam
 * @LastEditTime: 2022-10-28 14:12:41
 */

import request from '@/utils/request'

const commonApi = {
  /**
   * 获取项目列表
   * @returns {AxiosPromise}
   */
  get_project() {
    return request({
      url:  '/admin/get_project',
      method: 'get',
    })
  },

  /**
   * 获取建筑列表
   * @returns {AxiosPromise}
   */
  get_building(params) {
    return request({
      url:  '/admin/get_building',
      method: 'get',
      params
    })
  },

  /**
   * 获取楼层列表
   * @returns {AxiosPromise}
   */
  get_floor(params) {
    return request({
      url:  '/admin/get_floor',
      method: 'get',
      params
    })
  },

  /**
   * 获取管理员
   * @returns {AxiosPromise}
   */
  get_admin(params){
    return request({
      url:  '/admin/get_admin',
      method: 'get',
      params
    })
  },

  /**
   * 获取视频上传配置
   * @returns {AxiosPromise}
   */
  get_video_config() {
    return request({
      url:  '/admin/get_video_signature',
      method: 'get',
    })
  },

  /**
   * 通用上传
   * @param {File} file - 文件对象
   * @param {Function} callback - 上传进度回调
   * @returns {AxiosPromise}
   */
  upload_file(file, callback) {
    return request({
      url:  '/admin/upload_file',
      method: 'post',
      data: file,
      header: { 'Content-Type':'multipart/form-data;'},
      onUploadProgress: progressEvent => {
        // 原生获取上传进度的事件
        if (progressEvent.lengthComputable) {
            callback && callback(progressEvent);
        }
      },
    })
  }
}

export { commonApi }
export default commonApi